package com.common.exception;

import java.util.Collection;
import java.util.Map;

public interface ErrAssert {

    SeException se(String msg);

    SeException se();

    default void nonNull(Object exp, String msg) {
        if (exp == null) {
            throw se(msg);
        }
    }

    default void nonNull(Object exp) {
        if (exp == null) {
            throw se();
        }
    }

    default void isTrue(boolean exp, String msg) {
        if (!exp) {
            throw se(msg);
        }
    }

    default void isTrue(boolean exp) {
        if (!exp) {
            throw se();
        }
    }

    default void nonEmpty(String exp, String msg) {
        if (exp == null || exp.isEmpty()) {
            throw se(msg);
        }
    }

    default void nonEmpty(String exp) {
        if (exp == null || exp.isEmpty()) {
            throw se();
        }
    }

    default void nonEmpty(Collection<?> exp, String msg) {
        if (exp == null || exp.isEmpty()) {
            throw se(msg);
        }
    }

    default void nonEmpty(Collection<?> exp) {
        if (exp == null || exp.isEmpty()) {
            throw se();
        }
    }

    default void nonEmpty(Map<?,?> exp, String msg) {
        if (exp == null || exp.isEmpty()) {
            throw se(msg);
        }
    }

    default void nonEmpty(Map<?,?> exp) {
        if (exp == null || exp.isEmpty()) {
            throw se();
        }
    }

}
